package cn.xllyd.exception;

import lombok.AllArgsConstructor;
import lombok.Getter;

@Getter
@AllArgsConstructor
public enum GlobalExceptionCodeEnum {

    // 1.公共成功与失败
    OK("成功","1"),
    ERROR("失败","-1"),
    FALLBACK("降级","-2"),

    // 2.所有微服务的公共错误码，以1xxx打头
    COMMON_PARAM_IS_NULL_ERROR("参数为空异常","1001"),
    COMMON_PARAM_ILLEGAL_ERROR("非法参数异常！", "1002"),
    COMMON_PARAM_JSR303_ERROR("JSR303校验异常！", "1003"),
    // 3.所有system微服务的公共错误码，以2xxx打头

    // 4.所有user微服务的公共错误码，以3xxx打头
    USER_PHONE_REIGSTER_ERROR("手机号已注册","3001"),
    USER_REGISTER_ERROR("id为空","3002"),

    // 5.所有uaa微服务的公共错误码，以4xxx打头
    COMMON_PHONE_EXPIRED_ERROR("短信验证码不能为空","4001"),
    USER_SMS_CODE_ERROR("短信验证码不一致","4001"),

    // 6.所有common微服务的公共错误码，以5xxx打头
    COMMON_PHONE_IS_NULL_ERROR("手机号不能为空","5001"),
    COMMON_IMAGECODE_IS_NULL_ERROR("图形验证码不能为空","5002"),
    COMMON_IMAGEREDISKEY_IS_NULL_ERROR("uuid不能为空","5003"),
    COMMON_INTERVALTIME_ERROR("频繁操作，请稍后再试","5004"),

    // 7.所有common微服务的公共错误码，以6xxx打头
    BLOCK_FUSING_ERROR("熔断","6001"),
    BLOCK_PHONE_BLOCK_ERROR("手机号已拉黑","6002"),

    USER_ERROR("用户不存在","7001"),
    MONEY_ERROR("余额不足","7002"),
    COMMON_MOVIE_IS_NULL_ERROR("电影不存在","7003"),
    COMMON_STOCK_IS_NULL_ERROR("没库存","7003"),

    movie_not_error("电影票不存在","1001"),

    ;

    private String message;

    private String code;

}
